1. Technical Field
An improved data processing system and in particular to a method and apparatus for emulating a device within a data processing system. Still more particularly, the present invention relates to an improved method and apparatus for emulating a device that has been disconnected from the data-processing system.
2. Description of the Related Art
A good server data processing system is dependent on an efficient input/output (I/O) system. After all functional requirements have been defined and all the components specified, a server relies heavily on its storage 10 subsystem. This critical subsystem controls the movement of data between the CPU and peripheral devices. No matter how fast the CPU, a single I/O bottleneck can keep any server from living up to its full performance potential. Therefore, an important aspect of building a better server is building an efficient storage subsystem. Today's servers place an extra demand on storage systems. Faster CPUs require more and more data from the storage system to meet increased data accesses. Multitasking operating systems allow data to be processed by multiple threads. Multimedia applications also heavily tax a server's data transfer ability with huge files. Faced with these facts, a server can no longer perform to its optimum less built with an efficient I/O system. The American National Standards Institute (ANSI) has a standard for defining a standard high-speed parallel interface that is used to provide for then speed in I/O transfers. The standard is referred to as the Small Computer System Interface (SCSI) standard. A SCSI interface is used to connect microcomputers to SCSI peripheral devices, such as many hard disks and printers, and to other computers and local area networks. SCSI provides for a local I/O bus that can be operated over a wide range of data rates. The objective of the SCSI interface is to provide host data processing systems, such as servers, with device independence within the class of devices. Thus, different disk drives, tape drives, printers, optical media drives, and other devices can be added to a computer without requiring modifications to system hardware or software.
The interface protocol includes provision for connection of multiple initiators (SCSI devices capable of initiating an operation) and multiple targets (SCSI devices capable of responding to a request to perform an operation). Distributed arbitration is built into the architecture of SCSI. A priority system awards interface control to the highest priority SCSI device that is contending for use of the bus.
A number of operating systems, such as Unix and OS/2, require that SCSI devices be attached to the data processing system and powered up at boot time. This situation is not generally a problem for permanently attached peripherals, such as disk drives. For devices, such as tape drives or CD-ROM drives, which might be shared among several data processing systems, connecting a device often requires a reboot. Such a situation is disruptive to users of a data processing system and increases the time associated with a device swap. Therefore, it would be advantageous to have a method and apparatus for reducing the time associated with a device swap and to reduce the disruption to users of a data processing system.